// cli 脚手架
// 写自己的脚手架
// 需要用到4个库
/*
commander：Commander 是一个用于构建命令行工具的 npm 库
inquirer：Inquirer 是一个强大的命令行交互工具，用于与用户进行交互和收集信息
ora：Ora 是一个用于在命令行界面显示加载动画的 npm 库
download-git-repo： Download-git-repo 是一个用于下载 Git 仓库的 npm 库
*/
// npm i commander inquirer ora download-git-repo 


// markdown 转 html
/*
需要用到三个库
    EJS: 一款强大的JavaScript模板引擎，它可以帮助我们在HTML中嵌入动态内容,将Markdown转换为美观的HTML页面
    Marked：一个流行的Markdown解析器和编译器，它可以将Markdown语法转换为HTML标记。
            Marked是一个功能强大且易于使用的库，它为您提供了丰富的选项和扩展功能，以满足各种转换需求
    BrowserSync：一个强大的开发工具，它可以帮助您实时预览和同步您的网页更改
                当对Markdown文件进行编辑并将其转换为HTML时，BrowserSync可以自动刷新您的浏览器，使您能够即时查看转换后的结果。
*/

/*
EJS语法
    <% code %> 里面code写js代码 
    <% alert('hello') %>  // 弹框输出 hello

    <%= code %> 输出html代码转义内容
        <%= value %> 可以是变量
        <%= a ? b : c %>  <%= a + b %> 也可以是表达式
        如果包含 '<'、'>'、'&'等HTML字符，会被转义成字符实体，像&lt; &gt; &amp;
        const text = '<p>你好你好</p>'
        <%= text %>             // 输出 &lt;p&gt;你好你好&lt;/p&gt;

    <%- 富文本数据 %> 通常用于输出富文本，即 HTML内容 不会解析HTML标签，也不会将字符转义后输出
        <%- text %>         // 输出 <p>你好你好</p>

    <%- include('***文件路径') %>  引入其他模版, <%-  为的是避免对输出的 HTML 代码做转义处理

    <% if (user) { %>     
        判断
    <% } %>

    <% arrays.forEach(function(item){ %>
        循环
    <% }); %>
*/
/*
在 custom-cli中创建一个 ejs文件中写一个 模块，使用ejs语法，作占位， 在 insert.js写代码中将md文件转换为html文件
*/